package com.wei.czz.framework.common.service;

import com.wei.czz.common.dto.common.exportTask.ExportTaskDto;
import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.vo.common.exportTask.ExportFormVo;
import com.wei.czz.framework.common.entity.ExportTaskEntity;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2022-03-19 14:09:19
 * className: ExportTaskService 系统文件导出请求服务接口
 * version: 1.0
 * description:
 */
public interface ExportTaskService {

    /**
     * 保存导出任务操作
     * @param exportTask 导出任务对象
     * @return 导出任务主键
     */
    Long saveExportTask(ExportTaskEntity exportTask);

    /**
     * 获取导出任务操作
     * @param taskId 导出任务主键
     * @return 导出任务对象
     */
    ExportTaskEntity get(Long taskId);

    /**
     * 分页查询用户导出任务列表操作
     * @param exportFormVo 导出任务参数对象
     * @return 操作结果
     */
    PageDto<ExportTaskDto> getExportTaskList(ExportFormVo exportFormVo);

    /**
     * 文件下载操作
     * @param taskId   导出任务主键值
     */
    void downloadFile(Long taskId, HttpServletRequest request, HttpServletResponse response);

    /**
     * 删除导出任务操作
     * @param taskIdList 导出任务id列表
     */
    void deleteExportTask(List<Long> taskIdList);


}

